from flask import Flask


class DefaultConfig(object):
    """
    默认配置
    """
    REDIS_URL = 'redis url'
    MYSQL_URL = 'mysql url'


class DebugConfig(DefaultConfig):
    DEBUG = True
    MYSQL_URL = 'mysql://username:password@127.... '


def create_flask_app(ConfigClass):
    """
    创建flask对象 工厂函数
    :return:
    """
    # 1 创建flask应用对象

    app = Flask(__name__)

    # 设置工程配置信息
    # from_object
    # 先加载默认配置信息
    app.config.from_object(ConfigClass)

    # from_envvar
    # 加载覆盖真实的敏感配置信息
    app.config.from_envvar('FLASK_22_CONFIG1', silent=True)

    return app


# app = create_flask_app(DefaultConfig)
app = create_flask_app(DebugConfig)

# 2 编写视图
@app.route('/')
def index():
    """
    首页视图函数
    :return:
    """
    # 读取配置
    print(app.config.get('REDIS_URL'))
    # app.config[]

    # 让页面呈现helloworld
    return 'helloworld'


# 3 启动调试服务器
if __name__ == '__main__':
    app.run(port=8000, debug=False)
